package com.hl.mapper;

import java.util.List;
import com.hl.domain.OrderMain;
import com.hl.domain.OrderProduct;
import org.apache.ibatis.annotations.Param;

/**
 * 商品订单Mapper接口
 * 
 * @author ruoyi
 * @date 2025-08-07
 */
public interface OrderMainMapper 
{
    /**
     * 查询商品订单
     * 
     * @param orderId 商品订单主键
     * @return 商品订单
     */
    public OrderMain selectOrderMainByOrderId(String orderId);

    /**
     * 通过店铺ID查询订单信息
     * 
     * @param shopId 店铺ID
     * @return 商品订单集合
     */
    public List<OrderMain> selectOrderMainByShopId(Integer shopId);

    /**
     * 查询商品订单列表
     * 
     * @param orderMain 商品订单
     * @return 商品订单集合
     */
    public List<OrderMain> selectOrderMainList(OrderMain orderMain);

    /**
     * 新增订单
     * 
     * @param orderMain 商品订单
     * @return 结果
     */
    public int insertOrderMain(OrderMain orderMain);
//新增订单商品表订单
    int insertOrderProduct (List<OrderProduct> orderProducts);
    //删除订单商品表订单
    int deleteOrderProduct (String orderId);

    /**
     * 修改商品订单
     * 
     * @param orderMain 商品订单
     * @return 结果
     */
    public int updateOrderMain(OrderMain orderMain);

    /**
     * 删除商品订单
     * 
     * @param orderId 商品订单主键
     * @return 结果
     */
    public int deleteOrderMainByOrderId(String orderId);

    /**
     * 批量删除商品订单
     * 
     * @param orderIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteOrderMainByOrderIds(String[] orderIds);

    //批量删除订单商品表订单
    int deleteOrderProducts (String[] orderId);

    int updateOrderPaymentStatus(@Param("orderId") String orderId, @Param("orderStatus") String orderStatus, @Param("paymentStatus") String paymentStatus);


//    List<OrderProduct> selectOrderProductByOrderId(String orderId);
}
